package com.fuxi.cloud.desreport.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * JmReportDb
 *
 * @Author: 扫地僧
 * @CreateTime: 2021-05-03
 */
public class JmReportDb {
    private String id;
    @Excel(
            name = "主键字段",
            width = 15.0D
    )
    private String jimuReportId;
    @Excel(
            name = "数据集编码",
            width = 15.0D
    )
    private String dbCode;
    @Excel(
            name = "数据集名字",
            width = 15.0D
    )
    private String dbChName;
    @Excel(
            name = "数据源类型",
            width = 15.0D
    )
    private String dbType;
    @Excel(
            name = "数据库表名",
            width = 15.0D
    )
    private String dbTableName;
    @Excel(
            name = "动态查询SQL",
            width = 15.0D
    )
    private String dbDynSql;
    @Excel(
            name = "数据源KEY",
            width = 15.0D
    )
    private String dbKey;
    @Excel(
            name = "填报数据源",
            width = 15.0D
    )
    private String tbDbKey;
    @Excel(
            name = "填报数据表",
            width = 15.0D
    )
    private String tbDbTableName;
    @Excel(
            name = "java类数据集  类型（spring:springkey,class:java类名）",
            width = 15.0D
    )
    private String javaType;
    @Excel(
            name = "java类数据源  数值（bean key/java类名）",
            width = 15.0D
    )
    private String javaValue;
    @Excel(
            name = "api数据源",
            width = 15.0D
    )
    private String apiUrl;
    @Excel(
            name = "api请求方法",
            width = 15.0D
    )
    private String apiMethod;
    private List<JmReportDbField> fieldList;
    private List<JmReportDbParam> paramList;
    @Excel(
            name = "是否分页",
            width = 15.0D
    )
    private String isPage;
    @Excel(
            name = "是否列表",
            width = 15.0D
    )
    private String isList;
    @Excel(
            name = "数据源",
            width = 15.0D
    )
    private String dbSource;
    private String dbSourceType;
    @Excel(
            name = "创建人登录名称",
            width = 15.0D
    )
    private String createBy;
    @Excel(
            name = "更新人登录名称",
            width = 15.0D
    )
    private String updateBy;
    @Excel(
            name = "创建日期",
            width = 20.0D,
            format = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date createTime;
    @Excel(
            name = "更新日期",
            width = 20.0D,
            format = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date updateTime;

    public JmReportDb() {
    }

    public String getId() {
        return this.id;
    }

    public String getJimuReportId() {
        return this.jimuReportId;
    }

    public String getDbCode() {
        return this.dbCode;
    }

    public String getDbChName() {
        return this.dbChName;
    }

    public String getDbType() {
        return this.dbType;
    }

    public String getDbTableName() {
        return this.dbTableName;
    }

    public String getDbDynSql() {
        return this.dbDynSql;
    }

    public String getDbKey() {
        return this.dbKey;
    }

    public String getTbDbKey() {
        return this.tbDbKey;
    }

    public String getTbDbTableName() {
        return this.tbDbTableName;
    }

    public String getJavaType() {
        return this.javaType;
    }

    public String getJavaValue() {
        return this.javaValue;
    }

    public String getApiUrl() {
        return this.apiUrl;
    }

    public String getApiMethod() {
        return this.apiMethod;
    }

    public List<JmReportDbField> getFieldList() {
        return this.fieldList;
    }

    public List<JmReportDbParam> getParamList() {
        return this.paramList;
    }

    public String getIsPage() {
        return this.isPage;
    }

    public String getIsList() {
        return this.isList;
    }

    public String getDbSource() {
        return this.dbSource;
    }

    public String getDbSourceType() {
        return this.dbSourceType;
    }

    public String getCreateBy() {
        return this.createBy;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public Date getUpdateTime() {
        return this.updateTime;
    }

    public JmReportDb setId(String id) {
        this.id = id;
        return this;
    }

    public JmReportDb setJimuReportId(String jimuReportId) {
        this.jimuReportId = jimuReportId;
        return this;
    }

    public JmReportDb setDbCode(String dbCode) {
        this.dbCode = dbCode;
        return this;
    }

    public JmReportDb setDbChName(String dbChName) {
        this.dbChName = dbChName;
        return this;
    }

    public JmReportDb setDbType(String dbType) {
        this.dbType = dbType;
        return this;
    }

    public JmReportDb setDbTableName(String dbTableName) {
        this.dbTableName = dbTableName;
        return this;
    }

    public JmReportDb setDbDynSql(String dbDynSql) {
        this.dbDynSql = dbDynSql;
        return this;
    }

    public JmReportDb setDbKey(String dbKey) {
        this.dbKey = dbKey;
        return this;
    }

    public JmReportDb setTbDbKey(String tbDbKey) {
        this.tbDbKey = tbDbKey;
        return this;
    }

    public JmReportDb setTbDbTableName(String tbDbTableName) {
        this.tbDbTableName = tbDbTableName;
        return this;
    }

    public JmReportDb setJavaType(String javaType) {
        this.javaType = javaType;
        return this;
    }

    public JmReportDb setJavaValue(String javaValue) {
        this.javaValue = javaValue;
        return this;
    }

    public JmReportDb setApiUrl(String apiUrl) {
        this.apiUrl = apiUrl;
        return this;
    }

    public JmReportDb setApiMethod(String apiMethod) {
        this.apiMethod = apiMethod;
        return this;
    }

    public JmReportDb setFieldList(List<JmReportDbField> fieldList) {
        this.fieldList = fieldList;
        return this;
    }

    public JmReportDb setParamList(List<JmReportDbParam> paramList) {
        this.paramList = paramList;
        return this;
    }

    public JmReportDb setIsPage(String isPage) {
        this.isPage = isPage;
        return this;
    }

    public JmReportDb setIsList(String isList) {
        this.isList = isList;
        return this;
    }

    public JmReportDb setDbSource(String dbSource) {
        this.dbSource = dbSource;
        return this;
    }

    public JmReportDb setDbSourceType(String dbSourceType) {
        this.dbSourceType = dbSourceType;
        return this;
    }

    public JmReportDb setCreateBy(String createBy) {
        this.createBy = createBy;
        return this;
    }

    public JmReportDb setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
        return this;
    }

    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    public JmReportDb setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    public JmReportDb setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    @Override
    public String toString() {
        return "JmReportDb(id=" + this.getId() + ", jimuReportId=" + this.getJimuReportId() + ", dbCode=" + this.getDbCode() + ", dbChName=" + this.getDbChName() + ", dbType=" + this.getDbType() + ", dbTableName=" + this.getDbTableName() + ", dbDynSql=" + this.getDbDynSql() + ", dbKey=" + this.getDbKey() + ", tbDbKey=" + this.getTbDbKey() + ", tbDbTableName=" + this.getTbDbTableName() + ", javaType=" + this.getJavaType() + ", javaValue=" + this.getJavaValue() + ", apiUrl=" + this.getApiUrl() + ", apiMethod=" + this.getApiMethod() + ", fieldList=" + this.getFieldList() + ", paramList=" + this.getParamList() + ", isPage=" + this.getIsPage() + ", isList=" + this.getIsList() + ", dbSource=" + this.getDbSource() + ", dbSourceType=" + this.getDbSourceType() + ", createBy=" + this.getCreateBy() + ", updateBy=" + this.getUpdateBy() + ", createTime=" + this.getCreateTime() + ", updateTime=" + this.getUpdateTime() + ")";
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JmReportDb)) {
            return false;
        } else {
            JmReportDb var2 = (JmReportDb)o;
            if (!var2.canEqual(this)) {
                return false;
            } else {
                label299: {
                    String var3 = this.getId();
                    String var4 = var2.getId();
                    if (var3 == null) {
                        if (var4 == null) {
                            break label299;
                        }
                    } else if (var3.equals(var4)) {
                        break label299;
                    }

                    return false;
                }

                String var5 = this.getJimuReportId();
                String var6 = var2.getJimuReportId();
                if (var5 == null) {
                    if (var6 != null) {
                        return false;
                    }
                } else if (!var5.equals(var6)) {
                    return false;
                }

                String var7 = this.getDbCode();
                String var8 = var2.getDbCode();
                if (var7 == null) {
                    if (var8 != null) {
                        return false;
                    }
                } else if (!var7.equals(var8)) {
                    return false;
                }

                label278: {
                    String var9 = this.getDbChName();
                    String var10 = var2.getDbChName();
                    if (var9 == null) {
                        if (var10 == null) {
                            break label278;
                        }
                    } else if (var9.equals(var10)) {
                        break label278;
                    }

                    return false;
                }

                label271: {
                    String var11 = this.getDbType();
                    String var12 = var2.getDbType();
                    if (var11 == null) {
                        if (var12 == null) {
                            break label271;
                        }
                    } else if (var11.equals(var12)) {
                        break label271;
                    }

                    return false;
                }

                label264: {
                    String var13 = this.getDbTableName();
                    String var14 = var2.getDbTableName();
                    if (var13 == null) {
                        if (var14 == null) {
                            break label264;
                        }
                    } else if (var13.equals(var14)) {
                        break label264;
                    }

                    return false;
                }

                String var15 = this.getDbDynSql();
                String var16 = var2.getDbDynSql();
                if (var15 == null) {
                    if (var16 != null) {
                        return false;
                    }
                } else if (!var15.equals(var16)) {
                    return false;
                }

                label250: {
                    String var17 = this.getDbKey();
                    String var18 = var2.getDbKey();
                    if (var17 == null) {
                        if (var18 == null) {
                            break label250;
                        }
                    } else if (var17.equals(var18)) {
                        break label250;
                    }

                    return false;
                }

                String var19 = this.getTbDbKey();
                String var20 = var2.getTbDbKey();
                if (var19 == null) {
                    if (var20 != null) {
                        return false;
                    }
                } else if (!var19.equals(var20)) {
                    return false;
                }

                label236: {
                    String var21 = this.getTbDbTableName();
                    String var22 = var2.getTbDbTableName();
                    if (var21 == null) {
                        if (var22 == null) {
                            break label236;
                        }
                    } else if (var21.equals(var22)) {
                        break label236;
                    }

                    return false;
                }

                String var23 = this.getJavaType();
                String var24 = var2.getJavaType();
                if (var23 == null) {
                    if (var24 != null) {
                        return false;
                    }
                } else if (!var23.equals(var24)) {
                    return false;
                }

                String var25 = this.getJavaValue();
                String var26 = var2.getJavaValue();
                if (var25 == null) {
                    if (var26 != null) {
                        return false;
                    }
                } else if (!var25.equals(var26)) {
                    return false;
                }

                label215: {
                    String var27 = this.getApiUrl();
                    String var28 = var2.getApiUrl();
                    if (var27 == null) {
                        if (var28 == null) {
                            break label215;
                        }
                    } else if (var27.equals(var28)) {
                        break label215;
                    }

                    return false;
                }

                label208: {
                    String var29 = this.getApiMethod();
                    String var30 = var2.getApiMethod();
                    if (var29 == null) {
                        if (var30 == null) {
                            break label208;
                        }
                    } else if (var29.equals(var30)) {
                        break label208;
                    }

                    return false;
                }

                List var31 = this.getFieldList();
                List var32 = var2.getFieldList();
                if (var31 == null) {
                    if (var32 != null) {
                        return false;
                    }
                } else if (!var31.equals(var32)) {
                    return false;
                }

                List var33 = this.getParamList();
                List var34 = var2.getParamList();
                if (var33 == null) {
                    if (var34 != null) {
                        return false;
                    }
                } else if (!var33.equals(var34)) {
                    return false;
                }

                label187: {
                    String var35 = this.getIsPage();
                    String var36 = var2.getIsPage();
                    if (var35 == null) {
                        if (var36 == null) {
                            break label187;
                        }
                    } else if (var35.equals(var36)) {
                        break label187;
                    }

                    return false;
                }

                String var37 = this.getIsList();
                String var38 = var2.getIsList();
                if (var37 == null) {
                    if (var38 != null) {
                        return false;
                    }
                } else if (!var37.equals(var38)) {
                    return false;
                }

                String var39 = this.getDbSource();
                String var40 = var2.getDbSource();
                if (var39 == null) {
                    if (var40 != null) {
                        return false;
                    }
                } else if (!var39.equals(var40)) {
                    return false;
                }

                label166: {
                    String var41 = this.getDbSourceType();
                    String var42 = var2.getDbSourceType();
                    if (var41 == null) {
                        if (var42 == null) {
                            break label166;
                        }
                    } else if (var41.equals(var42)) {
                        break label166;
                    }

                    return false;
                }

                label159: {
                    String var43 = this.getCreateBy();
                    String var44 = var2.getCreateBy();
                    if (var43 == null) {
                        if (var44 == null) {
                            break label159;
                        }
                    } else if (var43.equals(var44)) {
                        break label159;
                    }

                    return false;
                }

                label152: {
                    String var45 = this.getUpdateBy();
                    String var46 = var2.getUpdateBy();
                    if (var45 == null) {
                        if (var46 == null) {
                            break label152;
                        }
                    } else if (var45.equals(var46)) {
                        break label152;
                    }

                    return false;
                }

                Date var47 = this.getCreateTime();
                Date var48 = var2.getCreateTime();
                if (var47 == null) {
                    if (var48 != null) {
                        return false;
                    }
                } else if (!var47.equals(var48)) {
                    return false;
                }

                Date var49 = this.getUpdateTime();
                Date var50 = var2.getUpdateTime();
                if (var49 == null) {
                    if (var50 != null) {
                        return false;
                    }
                } else if (!var49.equals(var50)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JmReportDb;
    }

    @Override
    public int hashCode() {
        boolean var1 = true;
        byte var2 = 1;
        String var3 = this.getId();
        int var27 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
        String var4 = this.getJimuReportId();
        var27 = var27 * 59 + (var4 == null ? 43 : var4.hashCode());
        String var5 = this.getDbCode();
        var27 = var27 * 59 + (var5 == null ? 43 : var5.hashCode());
        String var6 = this.getDbChName();
        var27 = var27 * 59 + (var6 == null ? 43 : var6.hashCode());
        String var7 = this.getDbType();
        var27 = var27 * 59 + (var7 == null ? 43 : var7.hashCode());
        String var8 = this.getDbTableName();
        var27 = var27 * 59 + (var8 == null ? 43 : var8.hashCode());
        String var9 = this.getDbDynSql();
        var27 = var27 * 59 + (var9 == null ? 43 : var9.hashCode());
        String var10 = this.getDbKey();
        var27 = var27 * 59 + (var10 == null ? 43 : var10.hashCode());
        String var11 = this.getTbDbKey();
        var27 = var27 * 59 + (var11 == null ? 43 : var11.hashCode());
        String var12 = this.getTbDbTableName();
        var27 = var27 * 59 + (var12 == null ? 43 : var12.hashCode());
        String var13 = this.getJavaType();
        var27 = var27 * 59 + (var13 == null ? 43 : var13.hashCode());
        String var14 = this.getJavaValue();
        var27 = var27 * 59 + (var14 == null ? 43 : var14.hashCode());
        String var15 = this.getApiUrl();
        var27 = var27 * 59 + (var15 == null ? 43 : var15.hashCode());
        String var16 = this.getApiMethod();
        var27 = var27 * 59 + (var16 == null ? 43 : var16.hashCode());
        List var17 = this.getFieldList();
        var27 = var27 * 59 + (var17 == null ? 43 : var17.hashCode());
        List var18 = this.getParamList();
        var27 = var27 * 59 + (var18 == null ? 43 : var18.hashCode());
        String var19 = this.getIsPage();
        var27 = var27 * 59 + (var19 == null ? 43 : var19.hashCode());
        String var20 = this.getIsList();
        var27 = var27 * 59 + (var20 == null ? 43 : var20.hashCode());
        String var21 = this.getDbSource();
        var27 = var27 * 59 + (var21 == null ? 43 : var21.hashCode());
        String var22 = this.getDbSourceType();
        var27 = var27 * 59 + (var22 == null ? 43 : var22.hashCode());
        String var23 = this.getCreateBy();
        var27 = var27 * 59 + (var23 == null ? 43 : var23.hashCode());
        String var24 = this.getUpdateBy();
        var27 = var27 * 59 + (var24 == null ? 43 : var24.hashCode());
        Date var25 = this.getCreateTime();
        var27 = var27 * 59 + (var25 == null ? 43 : var25.hashCode());
        Date var26 = this.getUpdateTime();
        var27 = var27 * 59 + (var26 == null ? 43 : var26.hashCode());
        return var27;
    }
}

